package login;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

// 用来处理登录请求
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf8");
        // 读取请求中的参数，判定当前用户信息是否正确
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        if (username == null || username.equals("") || password == null || password.equals("")) {
//            // 这几个数据都表示前端发来的参数不完整，直接返回到登录页面
//            resp.sendRedirect("login.html");

            // 返回一个提示
            resp.getWriter().write("用户名或者密码不完整! 登录失败! ");
            return;
        }
        // 验证用户密码是否正确
        // 一般来说，用户名密码存在数据库当中
        if (!username.equals("zhangsan") || !password.equals("123")) {
            // 登录失败
            resp.getWriter().write("用户名或者密码错误! 登录失败! ");
            return;
        }
        // 登录成功
        // 创建一个会话(session)，把用户信息填写到 session 中
        HttpSession session = req.getSession(true);
        session.setAttribute("username", "zhangsan");
        // 0 虽然是Object，但是自动装箱成 Integer
        Integer visitCount = (Integer) session.getAttribute("visitCount");
        if (visitCount == null) {
            session.setAttribute("visitCount", 0);
        }else {
            // 不做处理
        }

        // 让页面跳转到登录页面. 这里重定向跳转，是一个 GET 请求
        resp.sendRedirect("index");
    }
}
